type t = 
 | A0 
| A1 
| A2 
| A3 
| A4 
| A5 
| A6 
| A7 
| A8 
| A9 
| A10 
| A11 
| A12 
| A13 
| A14 
| A15 
| A16 
| A17 
| A18 
| A19 
| A20 
| A21 
| A22 
| A23 
| A24 
| A25 
| A26 
| A27 
| A28 
| A29 
| A30 
| A31 
| A32 
| A33 
| A34 
| A35 
| A36 
| A37 
| A38 
| A39 
| A40 
| A41 
| A42 
| A43 
| A44 
| A45 
| A46 
| A47 
| A48 
| A49 
| A50 
| A51 
| A52 
| A53 
| A54 
| A55 
| A56 
| A57 
| A58 
| A59 
| A60 
| A61 
| A62 
| A63 
| A64 
| A65 
| A66 
| A67 
| A68 
| A69 
| A70 
| A71 
| A72 
| A73 
| A74 
| A75 
| A76 
| A77 
| A78 
| A79 
| A80 
| A81 
| A82 
| A83 
| A84 
| A85 
| A86 
| A87 
| A88 
| A89 
| A90 
| A91 
| A92 
| A93 
| A94 
| A95 
| A96 
| A97 
| A98 
| A99 
| A100 
| A101 
| A102 
| A103 
| A104 
| A105 
| A106 
| A107 
| A108 
| A109 
| A110 
| A111 
| A112 
| A113 
| A114 
| A115 
| A116 
| A117 
| A118 
| A119 
| A120 
| A121 
| A122 
| A123 
| A124 
| A125 
| A126 
| A127 
| A128 
| A129 
| A130 
| A131 
| A132 
| A133 
| A134 
| A135 
| A136 
| A137 
| A138 
| A139 
| A140 
| A141 
| A142 
| A143 
| A144 
| A145 
| A146 
| A147 
| A148 
| A149 
| A150 
| A151 
| A152 
| A153 
| A154 
| A155 
| A156 
| A157 
| A158 
| A159 
| A160 
| A161 
| A162 
| A163 
| A164 
| A165 
| A166 
| A167 
| A168 
| A169 
| A170 
| A171 
| A172 
| A173 
| A174 
| A175 
| A176 
| A177 
| A178 
| A179 
| A180 
| A181 
| A182 
| A183 
| A184 
| A185 
| A186 
| A187 
| A188 
| A189 
| A190 
| A191 
| A192 
| A193 
| A194 
| A195 
| A196 
| A197 
| A198 
| A199 
| A200 
| A201 
| A202 
| A203 
| A204 
| A205 
| A206 
| A207 
| A208 
| A209 
| A210 
| A211 
| A212 
| A213 
| A214 
| A215 
| A216 
| A217 
| A218 
| A219 
| A220 
| A221 
| A222 
| A223 
| A224 
| A225 
| A226 
| A227 
| A228 
| A229 
| A230 
| A231 
| A232 
| A233 
| A234 
| A235 
| A236 
| A237 
| A238 
| A239 
| A240 
| A241 
| A242 
| A243 
| A244 
| A245 
| A246 
| A247 
| A248 
| A249 
| A250 
| A251 
| A252 
| A253 
| A254 
| A255 
| A256 
| A257 
| A258 
| A259 
| A260 
| A261 
| A262 
| A263 
| A264 
| A265 
| A266 
| A267 
| A268 
| A269 
| A270 
| A271 
| A272 
| A273 
| A274 
| A275 
| A276 
| A277 
| A278 
| A279 
| A280 
| A281 
| A282 
| A283 
| A284 
| A285 
| A286 
| A287 
| A288 
| A289 
| A290 
| A291 
| A292 
| A293 
| A294 
| A295 
| A296 
| A297 
| A298 
| A299 
let to_enum = function
 | A0 -> 0 
 | A1 -> 1 
 | A2 -> 2 
 | A3 -> 3 
 | A4 -> 4 
 | A5 -> 5 
 | A6 -> 6 
 | A7 -> 7 
 | A8 -> 8 
 | A9 -> 9 
 | A10 -> 10 
 | A11 -> 11 
 | A12 -> 12 
 | A13 -> 13 
 | A14 -> 14 
 | A15 -> 15 
 | A16 -> 16 
 | A17 -> 17 
 | A18 -> 18 
 | A19 -> 19 
 | A20 -> 20 
 | A21 -> 21 
 | A22 -> 22 
 | A23 -> 23 
 | A24 -> 24 
 | A25 -> 25 
 | A26 -> 26 
 | A27 -> 27 
 | A28 -> 28 
 | A29 -> 29 
 | A30 -> 30 
 | A31 -> 31 
 | A32 -> 32 
 | A33 -> 33 
 | A34 -> 34 
 | A35 -> 35 
 | A36 -> 36 
 | A37 -> 37 
 | A38 -> 38 
 | A39 -> 39 
 | A40 -> 40 
 | A41 -> 41 
 | A42 -> 42 
 | A43 -> 43 
 | A44 -> 44 
 | A45 -> 45 
 | A46 -> 46 
 | A47 -> 47 
 | A48 -> 48 
 | A49 -> 49 
 | A50 -> 50 
 | A51 -> 51 
 | A52 -> 52 
 | A53 -> 53 
 | A54 -> 54 
 | A55 -> 55 
 | A56 -> 56 
 | A57 -> 57 
 | A58 -> 58 
 | A59 -> 59 
 | A60 -> 60 
 | A61 -> 61 
 | A62 -> 62 
 | A63 -> 63 
 | A64 -> 64 
 | A65 -> 65 
 | A66 -> 66 
 | A67 -> 67 
 | A68 -> 68 
 | A69 -> 69 
 | A70 -> 70 
 | A71 -> 71 
 | A72 -> 72 
 | A73 -> 73 
 | A74 -> 74 
 | A75 -> 75 
 | A76 -> 76 
 | A77 -> 77 
 | A78 -> 78 
 | A79 -> 79 
 | A80 -> 80 
 | A81 -> 81 
 | A82 -> 82 
 | A83 -> 83 
 | A84 -> 84 
 | A85 -> 85 
 | A86 -> 86 
 | A87 -> 87 
 | A88 -> 88 
 | A89 -> 89 
 | A90 -> 90 
 | A91 -> 91 
 | A92 -> 92 
 | A93 -> 93 
 | A94 -> 94 
 | A95 -> 95 
 | A96 -> 96 
 | A97 -> 97 
 | A98 -> 98 
 | A99 -> 99 
 | A100 -> 100 
 | A101 -> 101 
 | A102 -> 102 
 | A103 -> 103 
 | A104 -> 104 
 | A105 -> 105 
 | A106 -> 106 
 | A107 -> 107 
 | A108 -> 108 
 | A109 -> 109 
 | A110 -> 110 
 | A111 -> 111 
 | A112 -> 112 
 | A113 -> 113 
 | A114 -> 114 
 | A115 -> 115 
 | A116 -> 116 
 | A117 -> 117 
 | A118 -> 118 
 | A119 -> 119 
 | A120 -> 120 
 | A121 -> 121 
 | A122 -> 122 
 | A123 -> 123 
 | A124 -> 124 
 | A125 -> 125 
 | A126 -> 126 
 | A127 -> 127 
 | A128 -> 128 
 | A129 -> 129 
 | A130 -> 130 
 | A131 -> 131 
 | A132 -> 132 
 | A133 -> 133 
 | A134 -> 134 
 | A135 -> 135 
 | A136 -> 136 
 | A137 -> 137 
 | A138 -> 138 
 | A139 -> 139 
 | A140 -> 140 
 | A141 -> 141 
 | A142 -> 142 
 | A143 -> 143 
 | A144 -> 144 
 | A145 -> 145 
 | A146 -> 146 
 | A147 -> 147 
 | A148 -> 148 
 | A149 -> 149 
 | A150 -> 150 
 | A151 -> 151 
 | A152 -> 152 
 | A153 -> 153 
 | A154 -> 154 
 | A155 -> 155 
 | A156 -> 156 
 | A157 -> 157 
 | A158 -> 158 
 | A159 -> 159 
 | A160 -> 160 
 | A161 -> 161 
 | A162 -> 162 
 | A163 -> 163 
 | A164 -> 164 
 | A165 -> 165 
 | A166 -> 166 
 | A167 -> 167 
 | A168 -> 168 
 | A169 -> 169 
 | A170 -> 170 
 | A171 -> 171 
 | A172 -> 172 
 | A173 -> 173 
 | A174 -> 174 
 | A175 -> 175 
 | A176 -> 176 
 | A177 -> 177 
 | A178 -> 178 
 | A179 -> 179 
 | A180 -> 180 
 | A181 -> 181 
 | A182 -> 182 
 | A183 -> 183 
 | A184 -> 184 
 | A185 -> 185 
 | A186 -> 186 
 | A187 -> 187 
 | A188 -> 188 
 | A189 -> 189 
 | A190 -> 190 
 | A191 -> 191 
 | A192 -> 192 
 | A193 -> 193 
 | A194 -> 194 
 | A195 -> 195 
 | A196 -> 196 
 | A197 -> 197 
 | A198 -> 198 
 | A199 -> 199 
 | A200 -> 200 
 | A201 -> 201 
 | A202 -> 202 
 | A203 -> 203 
 | A204 -> 204 
 | A205 -> 205 
 | A206 -> 206 
 | A207 -> 207 
 | A208 -> 208 
 | A209 -> 209 
 | A210 -> 210 
 | A211 -> 211 
 | A212 -> 212 
 | A213 -> 213 
 | A214 -> 214 
 | A215 -> 215 
 | A216 -> 216 
 | A217 -> 217 
 | A218 -> 218 
 | A219 -> 219 
 | A220 -> 220 
 | A221 -> 221 
 | A222 -> 222 
 | A223 -> 223 
 | A224 -> 224 
 | A225 -> 225 
 | A226 -> 226 
 | A227 -> 227 
 | A228 -> 228 
 | A229 -> 229 
 | A230 -> 230 
 | A231 -> 231 
 | A232 -> 232 
 | A233 -> 233 
 | A234 -> 234 
 | A235 -> 235 
 | A236 -> 236 
 | A237 -> 237 
 | A238 -> 238 
 | A239 -> 239 
 | A240 -> 240 
 | A241 -> 241 
 | A242 -> 242 
 | A243 -> 243 
 | A244 -> 244 
 | A245 -> 245 
 | A246 -> 246 
 | A247 -> 247 
 | A248 -> 248 
 | A249 -> 249 
 | A250 -> 250 
 | A251 -> 251 
 | A252 -> 252 
 | A253 -> 253 
 | A254 -> 254 
 | A255 -> 255 
 | A256 -> 256 
 | A257 -> 257 
 | A258 -> 258 
 | A259 -> 259 
 | A260 -> 260 
 | A261 -> 261 
 | A262 -> 262 
 | A263 -> 263 
 | A264 -> 264 
 | A265 -> 265 
 | A266 -> 266 
 | A267 -> 267 
 | A268 -> 268 
 | A269 -> 269 
 | A270 -> 270 
 | A271 -> 271 
 | A272 -> 272 
 | A273 -> 273 
 | A274 -> 274 
 | A275 -> 275 
 | A276 -> 276 
 | A277 -> 277 
 | A278 -> 278 
 | A279 -> 279 
 | A280 -> 280 
 | A281 -> 281 
 | A282 -> 282 
 | A283 -> 283 
 | A284 -> 284 
 | A285 -> 285 
 | A286 -> 286 
 | A287 -> 287 
 | A288 -> 288 
 | A289 -> 289 
 | A290 -> 290 
 | A291 -> 291 
 | A292 -> 292 
 | A293 -> 293 
 | A294 -> 294 
 | A295 -> 295 
 | A296 -> 296 
 | A297 -> 297 
 | A298 -> 298 
 | A299 -> 299 
 let to_string = function
 | A0 -> "A0" 
 | A1 -> "A1" 
 | A2 -> "A2" 
 | A3 -> "A3" 
 | A4 -> "A4" 
 | A5 -> "A5" 
 | A6 -> "A6" 
 | A7 -> "A7" 
 | A8 -> "A8" 
 | A9 -> "A9" 
 | A10 -> "A10" 
 | A11 -> "A11" 
 | A12 -> "A12" 
 | A13 -> "A13" 
 | A14 -> "A14" 
 | A15 -> "A15" 
 | A16 -> "A16" 
 | A17 -> "A17" 
 | A18 -> "A18" 
 | A19 -> "A19" 
 | A20 -> "A20" 
 | A21 -> "A21" 
 | A22 -> "A22" 
 | A23 -> "A23" 
 | A24 -> "A24" 
 | A25 -> "A25" 
 | A26 -> "A26" 
 | A27 -> "A27" 
 | A28 -> "A28" 
 | A29 -> "A29" 
 | A30 -> "A30" 
 | A31 -> "A31" 
 | A32 -> "A32" 
 | A33 -> "A33" 
 | A34 -> "A34" 
 | A35 -> "A35" 
 | A36 -> "A36" 
 | A37 -> "A37" 
 | A38 -> "A38" 
 | A39 -> "A39" 
 | A40 -> "A40" 
 | A41 -> "A41" 
 | A42 -> "A42" 
 | A43 -> "A43" 
 | A44 -> "A44" 
 | A45 -> "A45" 
 | A46 -> "A46" 
 | A47 -> "A47" 
 | A48 -> "A48" 
 | A49 -> "A49" 
 | A50 -> "A50" 
 | A51 -> "A51" 
 | A52 -> "A52" 
 | A53 -> "A53" 
 | A54 -> "A54" 
 | A55 -> "A55" 
 | A56 -> "A56" 
 | A57 -> "A57" 
 | A58 -> "A58" 
 | A59 -> "A59" 
 | A60 -> "A60" 
 | A61 -> "A61" 
 | A62 -> "A62" 
 | A63 -> "A63" 
 | A64 -> "A64" 
 | A65 -> "A65" 
 | A66 -> "A66" 
 | A67 -> "A67" 
 | A68 -> "A68" 
 | A69 -> "A69" 
 | A70 -> "A70" 
 | A71 -> "A71" 
 | A72 -> "A72" 
 | A73 -> "A73" 
 | A74 -> "A74" 
 | A75 -> "A75" 
 | A76 -> "A76" 
 | A77 -> "A77" 
 | A78 -> "A78" 
 | A79 -> "A79" 
 | A80 -> "A80" 
 | A81 -> "A81" 
 | A82 -> "A82" 
 | A83 -> "A83" 
 | A84 -> "A84" 
 | A85 -> "A85" 
 | A86 -> "A86" 
 | A87 -> "A87" 
 | A88 -> "A88" 
 | A89 -> "A89" 
 | A90 -> "A90" 
 | A91 -> "A91" 
 | A92 -> "A92" 
 | A93 -> "A93" 
 | A94 -> "A94" 
 | A95 -> "A95" 
 | A96 -> "A96" 
 | A97 -> "A97" 
 | A98 -> "A98" 
 | A99 -> "A99" 
 | A100 -> "A100" 
 | A101 -> "A101" 
 | A102 -> "A102" 
 | A103 -> "A103" 
 | A104 -> "A104" 
 | A105 -> "A105" 
 | A106 -> "A106" 
 | A107 -> "A107" 
 | A108 -> "A108" 
 | A109 -> "A109" 
 | A110 -> "A110" 
 | A111 -> "A111" 
 | A112 -> "A112" 
 | A113 -> "A113" 
 | A114 -> "A114" 
 | A115 -> "A115" 
 | A116 -> "A116" 
 | A117 -> "A117" 
 | A118 -> "A118" 
 | A119 -> "A119" 
 | A120 -> "A120" 
 | A121 -> "A121" 
 | A122 -> "A122" 
 | A123 -> "A123" 
 | A124 -> "A124" 
 | A125 -> "A125" 
 | A126 -> "A126" 
 | A127 -> "A127" 
 | A128 -> "A128" 
 | A129 -> "A129" 
 | A130 -> "A130" 
 | A131 -> "A131" 
 | A132 -> "A132" 
 | A133 -> "A133" 
 | A134 -> "A134" 
 | A135 -> "A135" 
 | A136 -> "A136" 
 | A137 -> "A137" 
 | A138 -> "A138" 
 | A139 -> "A139" 
 | A140 -> "A140" 
 | A141 -> "A141" 
 | A142 -> "A142" 
 | A143 -> "A143" 
 | A144 -> "A144" 
 | A145 -> "A145" 
 | A146 -> "A146" 
 | A147 -> "A147" 
 | A148 -> "A148" 
 | A149 -> "A149" 
 | A150 -> "A150" 
 | A151 -> "A151" 
 | A152 -> "A152" 
 | A153 -> "A153" 
 | A154 -> "A154" 
 | A155 -> "A155" 
 | A156 -> "A156" 
 | A157 -> "A157" 
 | A158 -> "A158" 
 | A159 -> "A159" 
 | A160 -> "A160" 
 | A161 -> "A161" 
 | A162 -> "A162" 
 | A163 -> "A163" 
 | A164 -> "A164" 
 | A165 -> "A165" 
 | A166 -> "A166" 
 | A167 -> "A167" 
 | A168 -> "A168" 
 | A169 -> "A169" 
 | A170 -> "A170" 
 | A171 -> "A171" 
 | A172 -> "A172" 
 | A173 -> "A173" 
 | A174 -> "A174" 
 | A175 -> "A175" 
 | A176 -> "A176" 
 | A177 -> "A177" 
 | A178 -> "A178" 
 | A179 -> "A179" 
 | A180 -> "A180" 
 | A181 -> "A181" 
 | A182 -> "A182" 
 | A183 -> "A183" 
 | A184 -> "A184" 
 | A185 -> "A185" 
 | A186 -> "A186" 
 | A187 -> "A187" 
 | A188 -> "A188" 
 | A189 -> "A189" 
 | A190 -> "A190" 
 | A191 -> "A191" 
 | A192 -> "A192" 
 | A193 -> "A193" 
 | A194 -> "A194" 
 | A195 -> "A195" 
 | A196 -> "A196" 
 | A197 -> "A197" 
 | A198 -> "A198" 
 | A199 -> "A199" 
 | A200 -> "A200" 
 | A201 -> "A201" 
 | A202 -> "A202" 
 | A203 -> "A203" 
 | A204 -> "A204" 
 | A205 -> "A205" 
 | A206 -> "A206" 
 | A207 -> "A207" 
 | A208 -> "A208" 
 | A209 -> "A209" 
 | A210 -> "A210" 
 | A211 -> "A211" 
 | A212 -> "A212" 
 | A213 -> "A213" 
 | A214 -> "A214" 
 | A215 -> "A215" 
 | A216 -> "A216" 
 | A217 -> "A217" 
 | A218 -> "A218" 
 | A219 -> "A219" 
 | A220 -> "A220" 
 | A221 -> "A221" 
 | A222 -> "A222" 
 | A223 -> "A223" 
 | A224 -> "A224" 
 | A225 -> "A225" 
 | A226 -> "A226" 
 | A227 -> "A227" 
 | A228 -> "A228" 
 | A229 -> "A229" 
 | A230 -> "A230" 
 | A231 -> "A231" 
 | A232 -> "A232" 
 | A233 -> "A233" 
 | A234 -> "A234" 
 | A235 -> "A235" 
 | A236 -> "A236" 
 | A237 -> "A237" 
 | A238 -> "A238" 
 | A239 -> "A239" 
 | A240 -> "A240" 
 | A241 -> "A241" 
 | A242 -> "A242" 
 | A243 -> "A243" 
 | A244 -> "A244" 
 | A245 -> "A245" 
 | A246 -> "A246" 
 | A247 -> "A247" 
 | A248 -> "A248" 
 | A249 -> "A249" 
 | A250 -> "A250" 
 | A251 -> "A251" 
 | A252 -> "A252" 
 | A253 -> "A253" 
 | A254 -> "A254" 
 | A255 -> "A255" 
 | A256 -> "A256" 
 | A257 -> "A257" 
 | A258 -> "A258" 
 | A259 -> "A259" 
 | A260 -> "A260" 
 | A261 -> "A261" 
 | A262 -> "A262" 
 | A263 -> "A263" 
 | A264 -> "A264" 
 | A265 -> "A265" 
 | A266 -> "A266" 
 | A267 -> "A267" 
 | A268 -> "A268" 
 | A269 -> "A269" 
 | A270 -> "A270" 
 | A271 -> "A271" 
 | A272 -> "A272" 
 | A273 -> "A273" 
 | A274 -> "A274" 
 | A275 -> "A275" 
 | A276 -> "A276" 
 | A277 -> "A277" 
 | A278 -> "A278" 
 | A279 -> "A279" 
 | A280 -> "A280" 
 | A281 -> "A281" 
 | A282 -> "A282" 
 | A283 -> "A283" 
 | A284 -> "A284" 
 | A285 -> "A285" 
 | A286 -> "A286" 
 | A287 -> "A287" 
 | A288 -> "A288" 
 | A289 -> "A289" 
 | A290 -> "A290" 
 | A291 -> "A291" 
 | A292 -> "A292" 
 | A293 -> "A293" 
 | A294 -> "A294" 
 | A295 -> "A295" 
 | A296 -> "A296" 
 | A297 -> "A297" 
 | A298 -> "A298" 
 | A299 -> "A299" 
 